/**
  * @file settingsdialog.h
  * @brief Plik definiujący klasę reprezentującą okno konfiguracji programu. Ustawiane są tu amplituda, częstotliwość fali oraz jej przesunięcie w fazie.
  */
#ifndef SETTINGSDIALOG_H
#define SETTINGSDIALOG_H

#include <QDialog>
#include <QAbstractButton>

namespace Ui
{
        class SettingsDialog;
}
/**
  * @class SettingsDialog
  * @brief Definicja klasy reprezentującej okno konfiguracji podstawowych parametrów fali sinusoidalnej.
  */
class SettingsDialog : public QDialog
{
        Q_OBJECT
		
		public:
			/**
			  * @param parent wskaźnik na rodzica
			  * @brief Konstruktor okna konfiguracji
			  */
			explicit SettingsDialog(QWidget *parent = 0);
			/**
			  * @brief Destruktor obiektu
			  */
            ~SettingsDialog();
		
        private slots:
			/**
			  * @param value wartość spinboxa
			  * @brief slot uruchamiany przy zmianie wartości w spinboxie. Ustawia odpowiednią wartość na sliderze amplitudy fali tego źródła.
			  * @see SettingsDialog::sAmpSource1SpinBoxValueChanged
			  */
			void sAmpSource1SpinBoxValueChanged(double);
			/**
			  * @param value wartość slidera
			  * @brief slot uruchamiany przy zmianie wartości na sliderze. Ustawia odpowiednią wartość na spinboxie amplitudy fali tego źródła.
			  * @see SettingsDialog::sAmpSource1SliderValueChanged
			  */
			void sAmpSource1SliderValueChanged(int);
			/**
			  * @param value wartość spinboxa
			  * @brief slot uruchamiany przy zmianie wartości w spinboxie. Ustawia odpowiednią wartość na sliderze amplitudy fali tego źródła.
			  * @see SettingsDialog::sAmpSource2SpinBoxValueChanged
			  */
			void sAmpSource2SpinBoxValueChanged(double);
			/**
			  * @param value wartość slidera
			  * @brief slot uruchamiany przy zmianie wartości na sliderze. Ustawia odpowiednią wartość na spinboxie amplitudy fali tego źródła.
			  * @see SettingsDialog::sAmpSource2SliderValueChanged
			  */
			void sAmpSource2SliderValueChanged(int);
			/**
			  * @param value wartość spinboxa
			  * @brief slot uruchamiany przy zmianie wartości w spinboxie. Ustawia odpowiednią wartość na sliderze częstotliwości fali tego źródła.
			  * @see SettingsDialog::sFreSource1SpinBoxValueChanged
			  */
			void sFreSource1SpinBoxValueChanged(double);
			/**
			  * @param value wartość slidera
			  * @brief slot uruchamiany przy zmianie wartości na sliderze. Ustawia odpowiednią wartość na spinboxie częstotliwości fali tego źródła.
			  * @see SettingsDialog::sFreSource1SlderValueChanged
			  */
			void sFreSource1SliderValueChanged(int);
			/**
			  * @param value wartość spinboxa
			  * @brief slot uruchamiany przy zmianie wartości w spinboxie. Ustawia odpowiednią wartość na sliderze częstotliwości fali tego źródła.
			  * @see SettingsDialog::sFreSource2SpinBoxValueChanged
			  */
			void sFreSource2SpinBoxValueChanged(double);
			/**
			  * @param value wartość slidera
			  * @brief slot uruchamiany przy zmianie wartości na sliderze. Ustawia odpowiednią wartość na spinboxie częstotliwości fali tego źródła.
			  * @see SettingsDialog::sFreSource2SliderValueChanged
			  */
			void sFreSource2SliderValueChanged(int);
			/**
			  * @param value wartość spinboxa
			  * @brief slot uruchamiany przy zmianie wartości w spinboxie. Ustawia odpowiednią wartość na sliderze przesunięcia w fazie fali tego źródła.
			  * @see SettingsDialog::sPhaSource1SpinBoxValueChanged
			  */
			void sPhaSource1SpinBoxValueChanged(double);
			/**
			  * @param value wartość slidera
			  * @brief slot uruchamiany przy zmianie wartości na sliderze. Ustawia odpowiednią wartość na spinboxie przesunięcia w fazie fali tego źródła.
			  * @see SettingsDialog::sPhaSource1SliderValueChanged
			  */
			void sPhaSource1SliderValueChanged(int);
			/**
			  * @param value wartość spinboxa
			  * @brief slot uruchamiany przy zmianie wartości w spinboxie. Ustawia odpowiednią wartość na sliderze przesunięcia w fazie fali tego źródła.
			  * @see SettingsDialog::sPhaSource2SpinBoxValueChanged
			  */
			void sPhaSource2SpinBoxValueChanged(double);
			/**
			  * @param value wartość slidera
			  * @brief slot uruchamiany przy zmianie wartości na sliderze. Ustawia odpowiednią wartość na spinboxie przesunięcia w fazie fali tego źródła.
			  * @see SettingsDialog::sPhaSource2SliderValueChanged
			  */
			void sPhaSource2SliderValueChanged(int);

        private:
            Ui::SettingsDialog *ui;
};

#endif // SETTINGSDIALOG_H
